package offerv1;

public class Offer44 {
    //1位 0...9 10个*1
    //2位 10...99 90个*2
    //3位 100...999 900个*3
    //4位 1000...9999 9000个*4
    public int findNthDigit(int n) {
        long count = 9;//初始化
        long start = 1;
        int digit = 1;//位数
        while (n > count) { // 1.
            n -= count;
            digit += 1;//位数
            start *= 10;//指数+起始位置
            count = digit * start * 9;
        }
        long num = start + (n - 1) / digit; // 2. 确定顺序
        return Long.toString(num).charAt((n - 1) % digit) - '0'; // 3.确定数字
    }
}
